#ifndef SBI_H
#define SBI_H

#include <stdint.h>

// SBI调用扩展ID
#define SBI_EXT_SET_TIMER 0x00
#define SBI_EXT_TIME 0x54494D45  // "TIME"扩展(新版SBI)

/**
 * 设置下次时钟中断时间
 * @param stime_value 绝对时间值(以时钟周期为单位)
 * 当mtime寄存器的值 >= stime_value时触发时钟中断
 */
void sbi_set_timer(uint64_t stime_value);

/**
 * 获取当前时间
 * @return 当前mtime寄存器的值(以时钟周期为单位)
 */
uint64_t get_time(void);

#endif // SBI_H

